/* 
   该文件是用于创建一个为store服务的reducer，reducer的本质就是一个函数
   reducer函数会接受到两个参数，分别为：之前的状态，和动作对象
*/
const initstate = 0;
function counterReducer(prestate = initstate, action) {
    const {type, data} = action
    //根据type决定如何加工数据
    switch (type) {
        case 'increment':
          console.log('ggg', prestate,data)
          return prestate + data
        
        case 'decrement':
          return prestate - data

        default:
          return prestate
    }
}

//异步action，就是action的值为函数，异步action一般都会调用同步action，非必须要用
export const createAsync = (data, time) => {
  return () => {
    setTimeout((dispatch) => {
      dispatch('function xxx() 这个里面一般可以放一个函数，比如AJAX请求')
    })
  }

}

export default counterReducer